1. Field of the Invention
The present invention relates to a programmable logic controller (PLC).
2. Related Information
Programmable logic controllers (PLC""s) are a relatively recent development in process control technology. As a part of process control, a PLC is used to monitor input signals from a variety of input points (input sensors) which report events and conditions occurring in a controlled process. For example, a PLC can monitor such input conditions as motor speed, temperature, pressure, volumetric flow and the like. A control program is stored in a memory within the PLC to instruct the PLC what actions to take upon encountering particular input signals or conditions. In response to these input signals provided by input sensors, the PLC derives and generates output signals which are transmitted via PLC output points to various output devices, such as actuators and relays, to control the process. For example, the PLC issues output signals to speed up or slow down a conveyer, rotate the arm of a robot, open or close a relay, raise or lower temperature as well as many other possible control functions too numerous to list.
The input and output points referred to above are typically associated with input modules and output modules, respectively. Input modules and output modules are collectively referred to as I/O modules herein. Those skilled in the art alternatively refer to such I/O modules as I/O cards or I/O boards. These I/O modules are typically pluggable into respective slots located on a backplane board in the PLC. The slots are coupled together by a main bus which couples any I/O modules plugged into the slots to a central processing unit (CPU). The CPU itself can be located on a card which is pluggable into a dedicated slot on the backplane of the PLC.
FIG. 36 shows one typical conventional programmable logic controller system as system 3610. System 10 includes a host programmable logic controller 3615 coupled by a field bus 3620 to a bus interface unit 3625. Bus interface unit 3625 couples and interfaces field bus 3620 to a local bus 3630 which includes a plurality of I/O terminal blocks 3635. I/O terminal blocks 3635 are coupled to respective I/O modules 3640 as shown in FIG. 1.
In system 3610, computational processing is performed by the host programmable logic controller 3615. In other words conditions are sensed at I/O modules 3640 and input data is derived therefrom. The input data is transferred through bus interface unit 3625 and field bus 3620 to host programmable logic controller 3615. Host programmable logic controller 3615 acts on the input data according to a control program stored in host PLC 3615. Host programmable logic controller 3615 processes the input data and produces output data in response thereto. The output data is transferred through field bus 3620, bus interface unit 3625, local bus 3630 to one or more I/O modules 3640. In response to the output data, the I/O module receiving the output data controls an output device coupled to the I/O module. I/O termination blocks are provided for coupling the I/O modules 3640 to the bus interface unit 3625.
The PLC may be arranged in a master/slave network as shown in FIG. 37a. In the figure, the master/slave control system includes a master PLC(M) and a plurality of remote slave units RSUs(R1-Rn). As shown therein, the master PLC(M) including a master PLC, a data link, and an I/O module, controls its own I/O connection points using a program and a communication parameter which are set by a user, and also controls the respective I/O connection points for the remote slave units R1-Rn. Each of the plurality of RSUs(R1-Rn) has at least one I/O module, and carries out a data communication with the master PLC(M) through a communication cable, and accordingly controls its own I/O module. The RSUs may be PLCs acting as slaves.
With reference to FIG. 37b, the PLC and each of the RSUs include: a MODEM 3710 for carrying out a communication between the master PLC(M) and the RSUs via a communication cable; a receive/transmit module 3711 for exchanging data with the master PLC(M) according to a predetermined protocol; a receive/transmit buffer 3712 for temporarily storing therein the data for the exchange; an output data storage unit 3713 for storing therein the data which are to be transmitted from the master PLC(M) to an input/output module 3716; an input data storage unit 3714 for storing therein the data which are to be transmitted from the input/output module 3716 to the master PLC(M); and an input/output control module 3715 for controlling a data transmission between the data storage units 3713, 3714 and the input/output module 3716.
In operation, the data link in the master PLC(M) is a data linking device attached to the master PLC(M), which operates as a master unit in the related network, and which obtains an initiative of the data communication. The data link is able to set a maximum number N of RSUs. The RSU sets each number of its own and the master PLC(M), and receives a communication directly from the master PLC(M) for thereby carrying out a data transmission. The data link in the master PLC(M) sequentially selects the RSUs(R1-Rn) and carries out a data receiving/transmitting operation. For example, when the data outputted from the master PLC(M) is applied through the communication cable and the MODEM 3710 to the RSU(R1), the applied data passes through the receive/transmit buffer 3712 and the receive/transmit module 3711, and is stored in the output data storage unit 3713. The data stored in the output data storage unit 3713 is outputted to the input/output module 3716 in accordance with the control of the input/output control module 3715. The external control target data read from the input/output module 3716 of the remote slave unit R1 is stored in the input data storage unit 3714 in accordance with the control of the input/output control module 3715. The data stored in the input data storage unit 3714 is transmitted through the receive/transmit buffer 3712 and the receive/transmit module 3711 to the master PLC(M).
The present invention provides new features that enhance and extend the capability of the conventional PLC.
It is an object of the present invention to enhance and extend the capability of the PLC.
It is another object of the invention to provide a digital input filter to enhance and extend the input capability of the PLC.
It is still another object of the invention to provide a pulse catch circuit to enhance and extend the pulse catching capability of the PLC.
It is yet another object of the invention to provide a pulse output controller to enhance and extend the output capability of the PLC.
It is a further an object of the invention to provide a free port link to enhance and extend the portability of the PLC.
It is still a further object of the invention to provide a protocol for modem communication to enhance and extend the connectivity of the PLC.
It is yet further an object of the invention to provide a hide instruction to enhance and extend the integration of the PLC with external programming applications.
It is still an additional object of the invention to provide a system function call to enhance and extend the function call capability of the PLC.
It is an additional object of the invention to provide an STL status to enhance and extend the status acquisition capability of the PLC.
It is yet and additional object of the invention to provide a micro PLC with an enhanced and extended capability.
In accordance with the foregoing objectives, the present invention provides a programmable logic controller with enhances and extended the capabilities.
In one aspect of the invention, a digital input filter is provided. The digital input filter simulates the action of a capacitor being driven by a constant current source whose output voltage is sensed by a comparator with a large amount of hysterisis. The digital filter implements input filters with considerably less logic.
In another aspect of the invention, a pulse catch circuit is provided. The pulse catch circuit captures the input pulse even though the update occurs between scan cycles.
In yet another aspect of the invention, a pulse output controller is provided. The pulse output controller smoothly transitions from one PTO or PWM wave-form to another. The pulse output controller includes a hardware pipeline mechanism to allow for smooth, hardware-controlled transitions from wave-form to wave-form.
In a still another aspect of the invention, a free port link is provided. The free port link allows the user to control the port either manually or by operation of a user program. In order to provide higher performance for communication using PPI protocol, a built-in protocol selection option is provided.
In still another aspect of the invention, a protocol for modem communication is provided. In a particular arrangement, the modem protocol supports communications over standard 10-bit, full duplex modems. The protocol uses a novel technique to ensure data integrity without use of a parity type data integrity system.
In a further aspect of the invention, a hide instruction is provided. The hide instruction provides for the protection of proprietary software by encrypting the sensitive code and decrypting the code during compilation and, thereafter, re-encrypting the code.
A still further aspect of the invention provides a system function call. The system function call allows the user to create and/or download new PLC functions and implement them as PLC operating system functions.
A yet further aspect of the invention is to provide an STL status function. The STL status function allows the user to debug programs during run-time and while the program is executing.
A quite further aspect of the invention is to provide the PLC in a micro PLC arrangement.
These and other objects of the invention will be readily understood from the following description of the figures.